The present invention relates generally to data communications, and more particularly, to a system and method for the non-intrusive measurement of service quality over a communications network.
Historically, in the field of data communications, a modem, a data service unit (DSU), or a channel service unit (CSU) has been used to convey information from one location to another. Digital technology now enables modems and other communication devices, such as frame relay data service units (DSU""s) and frame relay access units (FRAU""s) to communicate large amounts of data at higher speeds. The communication scheme employed by these devices generally adheres to a model, known as the Open Systems Interconnect (OSI) Seven-Layer model. This model specifies the parameters and conditions under which information is formatted and transferred over a given communications network. A general background of the OSI seven-layer model follows.
In 1978, a framework of international standards for computer network architecture known as xe2x80x9cOSIxe2x80x9d (Open Systems Interconnect) was developed. The OSI reference model of network architecture consists of seven layers. From the lowest to the highest, the layers are: (1) the physical layer; (2) the datalink layer; (3) the network layer; (4) the transport layer; (5) the session layer; (6) the presentation layer; and (7) the application layer. Each layer uses the layer below it to provide a service to the layer above it. The lower layers are implemented by lower level protocols which define the electrical and physical standards, perform the byte ordering of the data, and govern the transmission, and error detection and correction of the bit stream. The higher layers are implemented by higher level protocols which deal with, inter alia, data formatting, terminal-to-computer dialogue, character sets, and sequencing of messages.
Layer 1, the physical layer, controls the direct host-to-host communication between the hardware of the end users"" data terminal equipment (e.g., a modem connected to a PC).
Layer 2, the datalink layer, generally fragments the data to prepare it to be sent on the physical layer, receives acknowledgment frames, performs error checking, and re-transmits frames which have been incorrectly received.
Layer 3, the network layer, generally controls the routing of packets of data from the sender to the receiver via the datalink layer, and it is used by the transport layer. An example of the network layer is the Internet Protocol (IP), which is the network layer for the TCP/IP protocol widely used on Ethernet networks. In contrast to the OSI seven-layer architecture, TCP/IP (Transmission Control Protocol over Internet Protocol) is a five-layer architecture which generally consists of the network layer and the transport layer protocols.
Layer 4, the transport layer, determines how the network layer should be used to provide a point-to-point, virtual, error-free connection so that the end point devices send and receive uncorrupted messages in the correct order. This layer establishes and dissolves connections between hosts. It is used by the session layer. TCP is an example of the transport layer.
Layer 5, the session layer, uses the transport layer and is used by the presentation layer. The session layer establishes a connection between processes on different hosts. It handles the creation of sessions between hosts as well as security issues.
Layer 6, the presentation layer, attempts to minimize the noticeability of differences between hosts and performs functions such as text compression, and format and code conversion.
Layer 7, the application layer, is used by the presentation layer to provide the user with a localized representation of data which is independent of the format used on the network. The application layer is concerned with the user""s view of the network and generally deals with resource allocation, network transparency and problem partitioning.
The communications networks that operate within the OSI seven-layer model include a number of paths or links that are interconnected to route voice, video, and/or digital data (hereinafter, collectively referred to as xe2x80x9cdataxe2x80x9d) traffic from one location of the network to another. At each location, an interconnect node couples a plurality of source nodes and destination nodes to the network. In some cases, the sources and destinations are incorporated in a private line network that may include a series of offices connected together by leased-lines with switching facilities and transmission equipment owned and operated by the carrier or service provider and leased to the user. This type of network is conventionally referred to as a xe2x80x9ccircuit-switching networkxe2x80x9d. Accordingly, a source node of one office at one location of the network may transmit data to a destination node of a second office located at another location of the network through their respective switching facilities.
At any given location, a large number of source nodes may desire to communicate through their respective switching facilities, or interconnect node, to destination nodes at various other locations of the network. The data traffic from the various source nodes is first multiplexed through the source switching facility, and then demultiplexed at the destination switching facility, and finally delivered to the proper destination node. A variety of techniques for efficiently multiplexing data from multiple source nodes onto a single circuit of the network are presently employed in private line networks. For instance, time division multiplexing (TDM) affords each source node full access to the allotted bandwidth of the circuit for a small amount of time. The circuit is divided into defined time segments, with each segment corresponding to a specific source node, to provide for the transfer of data from those source nodes, when called upon, through the network.
Some data communications systems may employ other techniques, including packet switching networks. Implementations of packet switching networks include, for example, Asynchronous Transfer Mode (ATM) networks that use fixed size packets referred to as xe2x80x9ccellsxe2x80x9d, or Frame-Relay networks. Packet-switching networks, as opposed to circuit-switching networks, allow multiple users to share data network facilities and bandwidth, rather than providing a specific amount of dedicated bandwidth to each user, as in TDM. Instead, packet switches divide bandwidth into connectionless, virtual circuits. Virtual circuits can be permanent virtual circuits (PVC""s) or switched virtual circuits (SVC""s). As is known, virtual circuit bandwidth is consumed only when data is actually transmitted. Otherwise, the bandwidth is not used. In this way, packet-switching networks essentially mirror the operation of a statistical multiplexer (whereby multiple logical users share a single network access circuit). Frame relay generally operates within layer 2 (the data link layer) of the OSI model, and is an improvement over previous packet switching techniques, such as the industry standard X.25, in that frame relay requires significantly less overhead.
In frame relay networks, as in all communication networks, access to the network is provided by a network service provider. These service providers generally provide the communication and switching facilities over which the above-mentioned communication devices operate. Typically, an end user desirous of establishing a communications network, provisions the network services in the form of a public switched service network. An example of a public switched network is the public switched telephone network (PSTN) or a public data network (PDN). These public networks typically sell network services, in the form of connectivity, to end users.
Typically a user of a public network will purchase a particular level of service from the network service provider. This level of service can be measured by, for example, network availability as a percentage of total time on the network, the amount of data actually delivered through the network compared to the amount of data attempted, or possibly the network latency, or the amount of time it takes for a particular communication to traverse the network.
One problem with current communication systems is that it is difficult for an end user to adequately determine whether the public network service provider is delivering the quality of service that the end user has contracted. This is because it is nearly impossible for an end user to adequately measure the level of service actually delivered by the public network.
In light of the foregoing, the present invention provides a system and method for nonintrusive measurement of service quality in a communications network that determines whether any data packet transmitted over a packet switching network has been dropped or has failed to reach its intended destination.
In accordance with one embodiment of the present invention, a system is provided that preferably comprises a processor coupled to a local interface, a memory coupled to the local interface, and operating logic stored in the memory, the operating logic being executed by the processor. The operating logic includes network management logic which comprises logic to poll a transmit buffer in a transmit probe for a number of transmit pattern identifiers, the transmit pattern identifiers being generated from a stream of data packets at a transmit side of a packet switching network. The network management logic also comprises logic to poll a receive buffer in a receive probe for a number of receive pattern identifiers, the receive pattern identifiers being generated from the stream of data packets at a receive side of the packet switching network. Finally, the network management logic includes logic to compare the transmit pattern identifiers with the receive pattern identifiers to identify at least one dropped data packet from the stream of data packets in the packet switching network.
In another embodiment, the present invention can also be viewed as providing a method for determining service quality over a packet switching network. In this regard, the method can be broadly summarized by the following steps: polling a transmit buffer in a transmit probe for a number of transmit pattern identifiers, the transmit pattern identifiers being generated from a stream of data packets at a transmit side of a packet switching network; polling a receive buffer in a receive probe for a number of receive pattern identifiers, the receive pattern identifiers being generated from the stream of data packets at a receive side of the packet switching network; and, comparing the transmit pattern identifiers with the receive pattern identifiers to identify whether any packets are dropped from the stream of data packets in the packet switching network.
The present invention may also be viewed as a network quality probe for generating a number of pattern identifiers for a number of data packets in a stream of data packets processed. In one embodiment, the network quality probe comprises a processor coupled to a local interface, a memory coupled to a local interface, probe logic stored on the memory and executed by the processor, the probe logic including logic to generate a pattern identifier for each of the data packets in the stream of data packets, and logic to store the pattern identifiers in a buffer.
The present invention provides an advantage in that the service quality of a virtual circuit over a packet switching network may be determined without altering the stream of data packets to be transmitted across the network itself.
Other features and advantages of the present invention will become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional features and advantages be included herein within the scope of the present invention.